package com.yykj.message.center.server.service;

import com.yykj.message.center.client.dto.DrugOrderMessageBodyDTO;
import com.yykj.message.center.client.dto.PrescriptionMessageBodyDTO;
import com.yykj.message.center.client.dto.TDMQMessageSendResult;
import com.yykj.message.center.client.dto.pay.DrugOrderCancelMessageBodyDTO;
import com.yykj.message.center.client.enums.OrderType;
import org.apache.pulsar.client.api.PulsarClientException;

public interface TencentTDMQMessageService {


    TDMQMessageSendResult sendOrderPaySuccessMessage(String orderId, OrderType orderType)  throws PulsarClientException ;

    TDMQMessageSendResult sendOrderFinishMessage(String orderId,OrderType orderType) throws PulsarClientException ;

    TDMQMessageSendResult sendPrescriptionCreatedMessage(PrescriptionMessageBodyDTO messageBody) throws PulsarClientException;

    TDMQMessageSendResult sendPrescriptionChangeMessage(PrescriptionMessageBodyDTO messageBody)  throws PulsarClientException ;

    /**
     * 处方药品下单消息
     * @param messageBody 消息体
     * @return TDMQMessageSendResult
     * @throws PulsarClientException 消息发送异常
     */
    TDMQMessageSendResult sendDrugOrderMessage(DrugOrderMessageBodyDTO messageBody)  throws PulsarClientException ;

    /**
     * 延迟取消订单消息
     * @param messageBody 消息体
     * @return TDMQMessageSendResult
     * @throws PulsarClientException 消息发送异常
     */
    TDMQMessageSendResult sendCancelDrugOrderMessage(DrugOrderCancelMessageBodyDTO messageBody)  throws PulsarClientException ;


}
